МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НУ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторної роботи № 4
на тему:
«Дослідження методів ПЗ та їх реалізація»
з курсу:
«Захист программного забезпечення та програмні методи захисту інформації »
Львів 2009
Методичні вказівки до лабораторної роботи № 4
на тему:«Дослідження методів ЗПЗ та їх реалізація». З курсу:«Захист программного забезпечення та програмні методи захисту інформації »
Мета :дослідити методи ПЗ та їх оеалізацію
Укладачі: кан. техн. наук, доц.. В.І. Отенко, О.В.Пашук
При участі: Богрецова Н. А., Пігур Н. В.
Мета : дослідити методи ЗПЗ та їх реалізацію
Теоретичні відомості
Оцінка ефективності системи захисту програмного забезпечення
Системи захисту ПЗ широко поширені й перебувають у постійному розвитку, завдяки розширенню ринку ПЗ й телекомунікаційних технологій. Необхідність використання систем захисту (СЗ) ПЗ обумовлена рядом проблем, серед яких варто виділити: незаконне використання алгоритмів, що є інтелектуальною власністю автора, при написанні аналогів продукту (промислове шпигунство); несанкціоноване використання ПЗ (крадіжка й копіювання); несанкціонована модифікація ПЗ з метою впровадження програмних зловживань; незаконне поширення й збут ПЗ (піратство).
Існуючі системи захисту програмного забезпечення можна класифікувати по ряду ознак, серед яких можна виділити метод установки, використовувані механізми захисту й принцип функціонування.
Системи захисту ПЗ по методуустановки можна підрозділити на системи, установлювані на скомпільовані модулі ПЗ; системи, що вбудовують у вихідний код ПЗ до компіляції; і комбіновані.
Системи першого типу найбільш зручні для виробника ПЗ, тому що легко можна захистити вже повністюготове й протестованеПЗ (звичайно процес установкизахисту максимально автоматизований і зводиться до вказівкиімені файлу, що захищає, і натисканню "Enter"), а тому й найбільш популярні. У той же час стійкість цих систем досить низка (залежно від принципу дії СЗ), тому що для обходу захисту досить визначитикрапку завершення роботи "конверта" захисту й передачі керування захищеній програмі, а потім примусово неї зберегти в незахищеному виді.
Системи другого типу незручні для виробника ПЗ, тому що виникає необхідність навчати персонал роботі із програмним інтерфейсом (API) системи захисту звитікаючими звідси грошовими й тимчасовими витратами. Крім того, ускладнюється процес тестування ПЗ й знижується його надійність, тому що крім самого ПЗ помилки може містити API системи захисту або процедури, його що використають. Але такі системи єбільше стійкими до атак, тому що тут зникає чітка границя між системою захисту і як такимПЗ.
По використовуваних механізмах захисту СЗ можна класифікувати на: системи, що використовують складні логічні механізми; системи, що використовують шифрування захистуПЗ; і комбіновані системи.
Системи першого типу використовують різні методи й прийоми, орієнтовані на утруднення дизасемблювання, налагодження й аналізу алгоритму СЗ і ПЗ. Цей тип СЗ найменш стійкий до атак, тому що для подолання захисту досить проаналізувати логічні процедури перевірки й належним чином їх модифікувати.
Більше стійкими є системи другого типу. Для дезактивації таких захистів необхідне визначення ключадешифраціїПЗ.
Самими стійкими до атак є комбіновані системи.
Для захисту ПЗвикористовується ряд методів, таких як:
Алгоритми заплутування - використаються хаотичні переходи в різні частини коду, впровадження помилкових процедур - "пустишок", холості цикли, перекручування кількості реальних параметрів процедурПЗ, розкид ділянок коду по різних областяхОЗУ й т.п.
Алгоритми мутації - створюються таблиці відповідності операндів - синонімів і заміна їх один на одного при кожному запуску програми за певною схемою або випадковим образом, випадкові зміни структури програми.
Алгоритми компресії даних - програма запаковується, а потім розпаковується в міру виконання.
Алгоритми шифрування даних - програма шифрується, а потім розшифровуєтьс...